package com.zhuss.lock;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 自定义 分布式锁 注解 对应的自定义参数体
 *
 * @Author zhushanshuo
 * @Date 2024-08-07 10:51:15
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class LockItem implements Serializable {

    /**
     * 锁插件
     */
    private String lockPlugin;

    /**
     * 所属系统
     */
    private String system;

    /**
     * 所属模块
     */
    private String module;

    /**
     * 对应的操作
     */
    private String action;

    /**
     * 加锁时间， 单位：毫秒
     */
    private Long lockTime;

    /**
     * 加锁超时时间， 单位：毫秒
     */
    private Long timeoutMill;

    /**
     * 业务主键ID
     * 当操作了具体记录，可对其业务主键ID作为生成key的规则
     */
    private String servicePkId;

}
